El enfoque de Rust hacia la fiabilidad no se limita a evitar errores; es una filosofía de diseño consciente. Clasifica cada posible fallo en dos dominios: Recuperable y Irrecuperable errores. Esto garantiza que los sistemas sean resistentes, predecibles y seguros frente a corrupción silenciosa de datos.
1. La taxonomía del fallo
Un error recuperable (como un archivo faltante) es un obstáculo esperado donde el programa puede reintentar o informar al usuario. Un error irrecuperable (como un desbordamiento de búfer) representa una falla lógica donde la acción más segura es detenerse inmediatamente—el principio de detención inmediata principio.
2. Desarrollo basado en contratos
La fiabilidad se logra mediante límites claros. Si los requisitos previos de una función se cumplen pero factores externos causan un fallo, devuelve un Resultado. Si la lógica interna viola invariantes fundamentales, Rust obliga a detener la ejecución para prevenir daños adicionales al estado del sistema.